$.extend($.fn.datagrid.methods, {
			    statistics: function (jq) {
		        var opt=$(jq).datagrid('options').columns;
			        var rows = $(jq).datagrid("getRows");
			         
			        var footer = new Array();
			        footer['sum'] = "";
			        footer['avg'] = "";
			        footer['max'] = "";
			        footer['min'] = "";
			         
			        for(var i=0; i<opt[0].length; i++){
			            if(opt[0][i].sum){
			                footer['sum'] = footer['sum'] + sum(opt[0][i].field)+ ',';
			            }
			            if(opt[0][i].avg){
			                footer['avg'] = footer['avg'] + avg(opt[0][i].field)+ ',';
			            }
			            if(opt[0][i].max){
			                footer['max'] = footer['max'] + max(opt[0][i].field)+ ',';
			            }
			            if(opt[0][i].min){
			                footer['min'] = footer['min'] + min(opt[0][i].field)+ ',';
			            }
			        }
			 
			        var footerObj = new Array();
			         
			        if(footer['sum'] != ""){
		            var tmp = '{' + footer['sum'].substring(0,footer['sum'].length - 1) + "}";
			            var obj = eval('(' + tmp + ')');
			            if(obj[opt[0][0].field] == undefined){
			                footer['sum'] += '"' + opt[0][0].field + '":"<b>当页合计:</b>"';
			                obj = eval('({' + footer['sum'] + '})');
		            }else{
			                obj[opt[0][0].field] = "<b>当页合计:</b>" + obj[opt[0][0].field];
		            }
			            footerObj.push(obj);
			        }
			         
			        if(footer['avg'] != ""){
			            var tmp = '{' + footer['avg'].substring(0,footer['avg'].length - 1) + "}";
			            var obj = eval('(' + tmp + ')');
			            if(obj[opt[0][0].field] == undefined){
			                footer['avg'] += '"' + opt[0][0].field + '":"<b>当页均值:</b>"';
			                obj = eval('({' + footer['avg'] + '})');
			            }else{
			                obj[opt[0][0].field] = "<b>当页均值:</b>" + obj[opt[0][0].field];
			            }
			            footerObj.push(obj);
			        }
			         
			        if(footer['max'] != ""){
			            var tmp = '{' + footer['max'].substring(0,footer['max'].length - 1) + "}";
			            var obj = eval('(' + tmp + ')');
			             
			            if(obj[opt[0][0].field] == undefined){
			                footer['max'] += '"' + opt[0][0].field + '":"<b>当页最大值:</b>"';
			                obj = eval('({' + footer['max'] + '})');
			            }else{
			                obj[opt[0][0].field] = "<b>当页最大值:</b>" + obj[opt[0][0].field];
			            }
			            footerObj.push(obj);
			        }
			         
			        if(footer['min'] != ""){
			            var tmp = '{' + footer['min'].substring(0,footer['min'].length - 1) + "}";
		            var obj = eval('(' + tmp + ')');
			             
			            if(obj[opt[0][0].field] == undefined){
			                footer['min'] += '"' + opt[0][0].field + '":"<b>当页最小值:</b>"';
			                obj = eval('({' + footer['min'] + '})');
			            }else{
			                obj[opt[0][0].field] = "<b>当页最小值:</b>" + obj[opt[0][0].field];
		            }
			            footerObj.push(obj);
			        }
		         
			         
			         
			        if(footerObj.length > 0){
		            $(jq).datagrid('reloadFooter',footerObj);
			        }
			         
			         
			        function sum(filed){
			            var sumNum = 0;
			            for(var i=0;i<rows.length;i++){
			                sumNum += Number(rows[i][filed]);
			            }
			            return '"' + filed + '":"' + sumNum.toFixed(2) +'"';
			        };
			         
			        function avg(filed){
			            var sumNum = 0;
			            for(var i=0;i<rows.length;i++){
			                sumNum += Number(rows[i][filed]);
			            }
			            return '"' + filed + '":"'+ (sumNum/rows.length).toFixed(2) +'"';
			        }
			 
			        function max(filed){
			            var max = 0;
			            for(var i=0;i<rows.length;i++){
			                if(i==0){
			                    max = Number(rows[i][filed]);
			                }else{
			                    max = Math.max(max,Number(rows[i][filed]));
			                }
			            }
			            return '"' + filed + '":"'+ max +'"';
			        }
			         
			        function min(filed){
			            var min = 0;
			            for(var i=0;i<rows.length;i++){
			                if(i==0){
			                    min = Number(rows[i][filed]);
			                }else{
			                    min = Math.min(min,Number(rows[i][filed]));
			                }
			            }
			            return '"' + filed + '":"'+ min +'"';
			        }
			    }
			});